package com.skh.array;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/*
调整数组顺序使奇数位于偶数前面
 */
public class ReOrderArray {

    /**
     * 题目描述
     * 输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有的奇数位于数组的前半部分，所有的偶数位于数组的后半部分，并保证奇数和奇数，偶数和偶数之间的相对位置不变。
     */


    public static void reOrderArray(int [] array) {
        List<Integer> jishu = new ArrayList<>();
        List<Integer> oushu = new ArrayList<>();

        for (int i = 0; i < array.length; i++) {
            if (array[i] % 2 == 0) {
                oushu.add(array[i]);
            } else {
                jishu.add(array[i]);
            }
        }

        for (int i = 0; i < jishu.size(); i++) {
            array[i] = jishu.get(i);
        }

        for (int i = 0; i < oushu.size(); i++) {
            array[i+jishu.size()] = oushu.get(i);
        }
    }

    public static void main(String[] args) {
        int[] array = {1,8,3,6,5,4,7,2};
        ReOrderArray.reOrderArray(array);
        System.out.println(Arrays.toString(array));
    }

}
